/*
 * 问题：汉诺塔最少移动次数计算
 * 描述：有n个大小不同的模块，从左到右按从小到大叠放在A柱上，
 *       每次只能移动一个模块，且大模块不能放在小模块上。
 *       求将所有模块从A柱移到C柱（中间柱B柱过渡）的最少移动次数。
 * 规律：最少移动次数为 2^n - 1（n为模块数量）
 * 示例：n=3 → 2^3-1=7次
 */

#include <stdio.h>

// 函数功能：计算 2 的 n 次方（返回值为无符号长整型，避免溢出）
// 参数：n - 指数（模块数量）
unsigned long long powerOfTwo(int n) {
    unsigned long long result = 1;  // 初始值为1（2^0=1）
    // 循环n次，每次乘以2，得到2^n
    for (int i = 0; i < n; i++) {
        result *= 2;
    }
    return result;  // 返回2^n的结果
}

int main() {
    int n;  // 存储模块的数量
    // 读取用户输入的模块数量n（n≥1）
    scanf("%d", &n);
    
    // 计算最少移动次数：2^n - 1
    // 调用powerOfTwo(n)得到2^n，再减1
    unsigned long long minMoves = powerOfTwo(n) - 1;
    
    // 输出结果（使用%llu格式符匹配unsigned long long类型）
    printf("%llu\n", minMoves);
    
    return 0;
}
    